/**
* @Title: TestObjectIO.java
* @Package me.shibor.study.javaSE.io
* @Description: TODO
* @author shibor
* @date 2017年2月8日 上午12:31:17
* @version V1.0
*/
package me.shibor.study.javaSE.io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

/**
 * @ClassName: TestObjectIO
 * @Description: transient（透明的），可以用来修饰成员变量， 当进行序列化时不予考虑，修饰int 的话，不管原来的值是多少
 *               输出的就是0
 * @author shibor
 * @date 2017年2月8日 上午12:31:17
 * 
 */
public class TestObjectIO {
	public static void main(String[] args) throws Exception {
		T t = new T();
		t.k = 8;
		FileOutputStream fos = new FileOutputStream(System.getProperty("user.home") + "/testObject.txt");
		ObjectOutputStream oos = new ObjectOutputStream(fos);
		oos.writeObject(t);
		oos.flush();
		oos.close();

		FileInputStream fis = new FileInputStream(System.getProperty("user.home") + "/testObject.txt");
		ObjectInputStream ois = new ObjectInputStream(fis);
		T tRead = (T) ois.readObject();
		ois.close();
		System.out.println(tRead.i + " " + tRead.j + " " + tRead.k);
	}
}

class T implements Serializable {
	int i = 10;
	int j = 9;
	double d = 2.3;
	int k = 15;
}
